package fastwave.cloud.demo.sa.httpClient;


//import org.apache.http.impl.client.CloseableHttpClient;


public class HttpRequestUtil {
	
//    public static String getData(String url) {
//        CloseableHttpClient httpClient = null;
//        CloseableHttpResponse response = null;
//        String result = "";
//        try {
//            // 通过址默认配置创建一个httpClient实例
//            httpClient = HttpClients.createDefault();
//            // 创建httpGet远程连接实例
//            HttpGet httpGet = new HttpGet(url);
//            // 设置请求头信息，鉴权
//            httpGet.setHeader("Authorization", "Bearer da3efcbf-0845-4fe3-8aba-ee040be542c0");
//            // 设置配置请求参数
//            RequestConfig requestConfig = RequestConfig.custom().setConnectTimeout(35000)// 连接主机服务超时时间
//                    .setConnectionRequestTimeout(35000)// 请求超时时间
//                    .setSocketTimeout(60000)// 数据读取超时时间
//                    .build();
//            // 为httpGet实例设置配置
//            httpGet.setConfig(requestConfig);
//            // 执行get请求得到返回对象
//            response = httpClient.execute(httpGet);
//            // 通过返回对象获取返回数据
//            HttpEntity entity = response.getEntity();
//            // 通过EntityUtils中的toString方法将结果转换为字符串
//            result = EntityUtils.toString(entity);
//        } catch (ClientProtocolException e) {
//            e.printStackTrace();
//        } catch (IOException e) {
//            e.printStackTrace();
//        } finally {
//            // 关闭资源
//            if (null != response) {
//                try {
//                    response.close();
//                } catch (IOException e) {
//                    e.printStackTrace();
//                }
//            }
//            if (null != httpClient) {
//                try {
//                    httpClient.close();
//                } catch (IOException e) {
//                    e.printStackTrace();
//                }
//            }
//        }
//        return result;
//    }
//
//    public static String postData(String url, Map<String, Object> paramMap) {
//
//        HttpClientBuilder httpClientBuilder = HttpClientBuilder.create();
//        HttpPost post = new HttpPost(url);
//        String result = "";
//        try (CloseableHttpClient closeableHttpClient = httpClientBuilder.build()) {
//            // HttpEntity entity = new StringEntity(jsonStrData);
//            // 修复 POST json 导致中文乱码
//            HttpEntity entity = new StringEntity(paramMap.toString(), "UTF-8");
//            post.setEntity(entity);
//            post.setHeader("Content-type", "application/json");
//            HttpResponse resp = closeableHttpClient.execute(post);
//            try {
//                InputStream respIs = resp.getEntity().getContent();
//                byte[] respBytes = IOUtils.toByteArray(respIs);
//                result = new String(respBytes, Charset.forName("UTF-8"));
//            } catch (Exception e) {
//                e.printStackTrace();
//            }
//            return result;
//        } catch (IOException e) {
//            e.printStackTrace();
//        }
//        return result;
//    }
//
//    /**
//     * form表单提交
//     * @param url
//     * @param paramMap
//     * @return
//     */
//    public static String sendxwwwform(String url, Map<String, Object> paramMap) {
//        CloseableHttpClient httpClient = null;
//        CloseableHttpResponse httpResponse = null;
//        String result = "";
//        // 创建httpClient实例
//        httpClient = HttpClients.createDefault();
//        // 创建httpPost远程连接实例
//        HttpPost httpPost = new HttpPost(url);
//        // 配置请求参数实例
//        RequestConfig requestConfig = RequestConfig.custom().setConnectTimeout(35000)// 设置连接主机服务超时时间
//                .setConnectionRequestTimeout(35000)// 设置连接请求超时时间
//                .setSocketTimeout(60000)// 设置读取数据连接超时时间
//                .build();
//        // 为httpPost实例设置配置
//        httpPost.setConfig(requestConfig);
//        // 设置请求头
//        httpPost.addHeader("Content-Type", "application/x-www-form-urlencoded");
//        // 封装post请求参数
//        if (null != paramMap && paramMap.size() > 0) {
//            List<NameValuePair> nvps = new ArrayList<NameValuePair>();
//            // 通过map集成entrySet方法获取entity
//            Set<Entry<String, Object>> entrySet = paramMap.entrySet();
//            // 循环遍历，获取迭代器
//            Iterator<Entry<String, Object>> iterator = entrySet.iterator();
//            while (iterator.hasNext()) {
//                Entry<String, Object> mapEntry = iterator.next();
//                nvps.add(new BasicNameValuePair(mapEntry.getKey(), mapEntry.getValue().toString()));
//            }
//
//            // 为httpPost设置封装好的请求参数
//            try {
//                httpPost.setEntity(new UrlEncodedFormEntity(nvps, "UTF-8"));
//            } catch (UnsupportedEncodingException e) {
//                e.printStackTrace();
//            }
//        }
//        try {
//            // httpClient对象执行post请求,并返回响应参数对象
//            httpResponse = httpClient.execute(httpPost);
//            // 从响应对象中获取响应内容
//            HttpEntity entity = httpResponse.getEntity();
//            result = EntityUtils.toString(entity);
//        } catch (ClientProtocolException e) {
//            e.printStackTrace();
//        } catch (IOException e) {
//            e.printStackTrace();
//        } finally {
//            // 关闭资源
//            if (null != httpResponse) {
//                try {
//                    httpResponse.close();
//                } catch (IOException e) {
//                    e.printStackTrace();
//                }
//            }
//            if (null != httpClient) {
//                try {
//                    httpClient.close();
//                } catch (IOException e) {
//                    e.printStackTrace();
//                }
//            }
//        }
//        return result;
//    }
//
//    //2.将json字符串转换成HashMap<String,String>
//    public static HashMap<String, Object> JsonToHashMap(String JsonStrin){
//        HashMap<String, Object> data = new HashMap<String, Object>();
//        try{
//            // 将json字符串转换成jsonObject
//            JSONObject jsonObject = JSONObject.parseObject(JsonStrin);
//
//            // 遍历jsonObject数据，添加到Map对象
//            for (String key : jsonObject.keySet())
//            {
//                data.put(key, jsonObject.get(key));
//            }
//        }catch (Exception e) {
//            e.printStackTrace();
//            //JOptionPane.showMessageDialog(null,"ERROR:["+e+"]");
//        }
//        System.out.println(data);
//        return data;
//    }


}
